/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package ec.edu.espe.ccsoft.mantenimiento.dao;

import ec.edu.espe.ccsoft.mantenimiento.modelos.Unidad;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;

/**
 *
 * @author misahaelfernandez
 */
@Stateless
public class UnidadFacade extends AbstractFacade<Unidad> {

    @PersistenceContext(unitName = "ec.edu.espe.ccsoft_CCSoftMantenimiento-ejb_ejb_1PU")
    private EntityManager em;

    @Override
    protected EntityManager getEntityManager() {
        return em;
    }

    public UnidadFacade() {
        super(Unidad.class);
    }

    public Unidad findUnidadByBusNumber(Integer busNumber) {
        javax.persistence.criteria.CriteriaQuery cq = this.em.getCriteriaBuilder().createQuery();
        cq.where(this.em.getCriteriaBuilder()
                .and(this.em.getCriteriaBuilder().equal(cq.from(Unidad.class).get("numBus"), busNumber),
                        this.em.getCriteriaBuilder().equal(cq.from(Unidad.class).get("estado"), Boolean.TRUE)));

        return this.em.createQuery(cq).getResultList().isEmpty() ? null : (Unidad) this.em.createQuery(cq).getSingleResult();
    }

}
